우선 브라우저 window object에 intersectionObserver가 있는지 판단.
monitorIntersections에서 탐지
rootIsInTarget, rootIsInDom100ms throttle 걸린 _checkForIntersections 에서 target이 들어오는지 확인 후, IntersectionObserverEntry를 생성하기 위해 연관 DOMRect들을 넘김. Entry는 viewport에 들어온 target에 대한 정보를 담고 있는 구조
IntersectionObserverEntry는 화면에 보이는 비율 등을 계산한 값을 object property에 넣어줌.
만들어진 entry는 queue_observationTarget에 넣고 callback처리
utility성 함수로 ensureDOM과 같은 함수가 있음. 오브젝트 구조(어떤 속성이 있는지)를 이용해서 type assertion을 함.
crossOriginRect???